/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine - graphics/scene
// Copyright (c) 2015.  All Rights Reserved
//
// File:		AEDefaultSceneManager.h
// Author:		Gianluca Belardelli
// Date:		01/07/2015
//
/////////////////////////////////////////////////////////////////////////
#ifndef _AEDEFAULTSCENEMANAGER_H_
#define _AEDEFAULTSCENEMANAGER_H_

/// \brief
///   The default scene manager for the Vision engine.
/// 
/// The default scene manager for the Vision engine, handling most common scene types.
/// 
/// Note that the FindClosestVisibilityZone method relies on static geometry instances for
/// classifying scene elements. In situations where the bounding boxes of visibility zones overlap
/// and there is no static geometry present which can be used to classify the visibility zone
/// assignment of scene elements, this implementation may fail. Such scenes have to use custom
/// scene manager implementations.
class AEDefaultSceneManager : public AESceneManagerI
{
// Methods
public:
	AE_DLLIMPEXP AEDefaultSceneManager( void );
	AE_DLLIMPEXP ~AEDefaultSceneManager( void );

	AE_DLLIMPEXP virtual void HandleZones( AEFLOAT32 fTimeDelta );
};

#endif // _AEDEFAULTSCENEMANAGER_H_
